package com.kaoqin.code.util;

import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;

import com.google.gson.Gson;


public class StringUtil {
	private static Map<String,String> editMap=new HashMap<String,String>();
	static {
		editMap.put("id","更新Id");
		editMap.put("projectCode","项目编码");
		editMap.put("signToWorkStr","开始时间");
		editMap.put("signOffWorkStr","结束时间");
	}
	/**
	* @Title: getInterceptorParamStr 
	* @Description: 解析拦截器参数
	* @param @param request
	* @param @return    设定文件 
	* @return String    返回类型 
	* @throws 
	* @author Janus
	* @Date 2017年9月6日 下午3:58:01
	 */
	public static String getInterceptorParamStr(HttpServletRequest request) {
		String value = "";
		Enumeration enu = request.getParameterNames();
		Map<String,Object> map=new HashMap<String,Object>();
        while(enu.hasMoreElements()){
            String paraName = (String)enu.nextElement();
            if (!"_dc".equals(paraName) && !"node".equals(paraName)){//_dc的参数不要
                String [] arr = request.getParameterValues(paraName);
               /* if (arr != null && arr.length > 1){
                    map.put(paraName, ConvertObjectArrToStr(arr));
                }else{
                	String val = request.getParameter(paraName);
                    map.put(paraName, val);
                }*/
                if (arr != null && arr.length == 1) {
                	String val = request.getParameter(paraName);
                    map.put(paraName, val);
                }
            }
        }
        if(map!=null && map.size() >0) {
        	value = new Gson().toJson(map);
        }
        if(StringUtils.isNotBlank(value)) {
        	for (String key : editMap.keySet()) {
        		value=value.replace(key, editMap.get(key));
			}
        }
		return value;
	}
	/**
	 * 
	 * @Title: ConvertObjectArrToStr
	 * @Description: 拦截器参数转换
	 * @param @param
	 *            arr
	 * @param @return
	 *            设定文件
	 * @return String 返回类型
	 * @throws @author
	 *             Janus
	 * @Date 2017年9月6日 下午3:55:41
	 */
	public static String ConvertObjectArrToStr(Object[] arr) {
		String result = "";
		if (arr != null && arr.length > 0) {
			for (int i = 0; i < arr.length; i++) {
				if (!"".equals(String.valueOf(arr[i]))) {
					result += String.valueOf(arr[i]) + ",";
				}
			}
			if (!"".equals(result)) {
				result = result.substring(0, result.length() - 1);
			}
		}
		return result;
	}
}
